Product
Introducing Enhanced Alert Actions and Triage Functionality
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
@babel/plugin-transform-optional-chaining
Advanced tools
Package description
The @babel/plugin-transform-optional-chaining package is a Babel plugin that allows developers to use the optional chaining syntax in JavaScript. Optional chaining is a feature that enables developers to read the value of a property located deep within a chain of connected objects without having to check that each reference in the chain is valid. The plugin transforms optional chaining syntax into a form that can be understood by JavaScript engines that do not support this feature natively.
Optional Property Access
This feature allows safe access to nested object properties. If any reference is nullish (null or undefined), it returns undefined instead of throwing an error.
const obj = { a: { b: { c: 1 } } };
const value = obj?.a?.b?.c;
Optional Method Calls
This feature enables calling a method that may not exist. If the method is not available, it returns undefined instead of throwing an error.
const obj = { a: { b: { c: () => 'Hello' } } };
const greeting = obj?.a?.b?.c?.();
Optional Bracket Notation
This feature allows the use of optional chaining with bracket notation, which is useful when accessing properties with keys that are not valid identifiers.
const obj = { a: { b: { 'c': 1 } } };
const value = obj?.a?.['b']?.['c'];
This package provides a way to access properties of objects using dot notation, similar to optional chaining. However, it does not support the optional chaining syntax and requires manual checks for nullish values.
Lodash's get function allows safe access to object properties, similar to optional chaining. It's a part of the Lodash utility library and requires passing the object path as a string or array, unlike the native-like syntax that optional chaining provides.
Safe-navigation is a package that offers a safe way to navigate object properties, similar to optional chaining. It uses a proxy-based approach to prevent errors when accessing undefined or null properties, but it does not use the optional chaining syntax.
Changelog
v7.24.7 (2024-06-05)
babel-node
babel-traverse
constantViolations
with destructuring (@liuxingbaoyu)babel-helper-transform-fixture-test-runner
, babel-plugin-proposal-explicit-resource-management
using
in switch
correctly (@liuxingbaoyu)babel-helpers
, babel-runtime-corejs2
, babel-runtime-corejs3
, babel-runtime
Readme
Transform optional chaining operators into a series of nil checks
See our website @babel/plugin-transform-optional-chaining for more information.
Using npm:
npm install --save-dev @babel/plugin-transform-optional-chaining
or using yarn:
yarn add @babel/plugin-transform-optional-chaining --dev
FAQs
Transform optional chaining operators into a series of nil checks
The npm package @babel/plugin-transform-optional-chaining receives a total of 13,386,678 weekly downloads. As such, @babel/plugin-transform-optional-chaining popularity was classified as popular.
We found that @babel/plugin-transform-optional-chaining demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.